Multicasting is used to bring broadcast style video and audio streaming to a large audience all at the same time. As compared to unicasting, in which each host receives its own stream, in multicasting every host receives the same content at about the same time, typically through an internet connection. The Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) have been established to provide standard formats and protocols for multicasting. These protocols are now used to bring broadcast television style entertainment to the home using internet protocols.
In multicast, a separate stream is sent on each subscriber circuit. When there are millions of viewers, millions of independent subscriber circuits and independent streams must be maintained. In order to reduce the infrastructure required to maintain a large number of streams, Remote Multicast Replication (RMR) has been developed. RMR allows a single stream to be sent from a central router to a remote access node. The router obtains the stream from its source. The access node replicates the single stream onto many subscriber circuits. This avoids the need to replicate the streams from the router to each subscriber circuit. It there are many subscribers receiving a single stream from the same access node, the physical requirements of the data pathways may be greatly reduced.
By moving the generation of the stream at the router away from the access node which is connected directly to the subscriber circuits, stream management can be harmed. The connection between requesting the stream and generating the stream is broken by putting an RMR interface between the access node and the router.
In conventional multicast replication, multicast group traffic is replicated only on the circuits on which IGMP joins are received. RMR provides a separate interface for sending multicast traffic to interested hosts by sending the multicast traffic from the edge router to the access node out on an interface other than the one on which IGMP joins are received. The multicast traffic is replicated to the interested hosts by the downstream access node. This avoids using the link between the access node and the edge router for sending multicast traffic. It allows for a separate VLAN to be used for sending multicast traffic. Another VLAN may be used for IGMP joins, leaves, and queries.
In RMR, the interface used for sending out multicast traffic and its context are configured in an IGMP service profile. The configuration enables the RMR interface for multicast and binds it. The IGMP service profile created in the initial configuration is then used by subscribers when they come up. A subscriber, e.g. a CLIPS (Clientless Internet Protocol)/PPPOE (Point-to-Point Protocol over Ethernet) subscriber, uses the service profile to send a report which can serve as a join request or a leave request to receive or stop receiving a particular stream. The stream is associated with a group object.
When an IGMP report is received, if a group object does not exist on the RMR circuit, meaning that the requested stream is not being streamed to the appropriate access node, then a group object corresponding to the group present in the report is created on the RMR circuit. However, the same group object is not created on the subscriber circuit on which the IGMP report is received.
If a group object is created on the RMR circuit, meaning that a particular stream is added to those sent through the RMR circuit, then IGMP notifies PIM (Protocol Independent Multicast) to use the RMR circuit as the OIF (Outgoing Interface) for forwarding traffic for the multicast group. On the other hand, when an IGMP leave is received on a subscriber, in order to determine if there are other interested hosts for the group, an IGMP group specific query is sent out on the RMR circuit to all of the hosts for a group.
The separation between IGMP and RMR and between router and access node can prevent parts of the system from being aware of the status and connections of other parts of the system. It can also make it difficult for an operator to measure and analyze system behavior. As an example, in IGMP, group objects are associated only with the RMR circuit. As a result, an operator cannot see all the groups that are associated with a subscriber and it is not possible to determine the groups that a subscriber is viewing, nor is it possible to determine current status and assess many faults for a particular subscriber.
Similarly, when a group object is created and displayed on the RMR circuit, the creation of the group object gives an incorrect indication that the IGMP report was received on the RMR circuit. There is also no way to account for the multicast bandwidth used by a subscriber on a subscriber circuit. This frustrates subscriber level call admission control. In multicast streaming, call admission control is useful to ensure that the multicast traffic does not impact the unicast traffic flowing on the same subscriber circuit. Call admission control also helps to ensure quality of service and adherence to subscription levels.
The separation between IGMP and RMR also creates additional overhead signaling. An IGMP group specific query is sent in response to an IGMP leave received from a host on that host's subscriber circuit, but the IGMP group specific query is sent out on the RMR circuit and therefore is replicated to all of the subscriber circuits that are associated with the group. The IGMP group specific query packet uses a multicast group address corresponding to a group object as the destination IP address for sending queries. In response to this query, the hosts on all the subscriber circuits receiving the query will respond to the query. This may result in more responses being received than are necessary for the one IGMP leave request.